using System.Configuration;
using System.Diagnostics;
using Core.IocHelpers;

namespace Core.Settings
{
  [AutoRegisterable]
  public interface IAppSettings
  {
    // replicate the app settings
    [UserScopedSetting]
    [DebuggerNonUserCode]
    [DefaultSettingValue("0")]
    int CommunityId { get; set; }

    [UserScopedSetting]
    [DebuggerNonUserCode]
    [DefaultSettingValue("0")]
    int ElectionId { get; set; }

    [UserScopedSetting]
    [DebuggerNonUserCode]
    [DefaultSettingValue("0")]
    int TellerId { get; set; }

    [UserScopedSetting]
    [DebuggerNonUserCode]
    [DefaultSettingValue("0")]
    int LocationId { get; set; }

    [UserScopedSetting]
    [DebuggerNonUserCode]
    [DefaultSettingValue("0")]
    int ComputerId { get; set; }

    [UserScopedSetting]
    [DebuggerNonUserCode]
    [DefaultSettingValue("")]
    string DbFilePath { get; set; }

    [UserScopedSetting]
    [DebuggerNonUserCode]
    [DefaultSettingValue("")]
    string ImportXmlFilePath { get; set; }

    ApplicationSettingsBase Source { get; }

    void LinkToSource(ApplicationSettingsBase source);
  }
}